package com.easyidea.its.domain.repository.system;

import java.util.Collection;
import java.util.List;

import com.easyidea.its.domain.model.system.Role;
import com.easyidea.its.domain.repository.base.BaseRepository;

/**
 * 
 * @author hukn
 *
 */
public interface RoleRepository extends BaseRepository<Role> {
	  /**
	   * 根据状态分页查询角色列表
	 * @param roleName TODO
	 * @param status
	 * @param start
	 * @param pageSize
	   * @return
	   */
	  Collection<Role> getPlatformRolesByStatus(String roleName, Integer status, int start, int pageSize);
	  /**
	   * 根据状态查询角色总数
	 * @param roleName TODO
	 * @param status
	   * @return
	   */
	  int getPlatformRoleCountByStatus(String roleName, Integer status);
	  /**
	   * 根据角色id删除关联权限
	   * @param roleId
	   * @return
	   */
	  int deleteRoleRelationPermissionsByRoleId(Integer roleId);	  
	  /**
	   * 根据状态分页查询角色列表
	 * @param roleName TODO
	 * @param status
	 * @param start
	 * @param pageSize
	   * @return
	   */
	  Collection<Role> getRolesByStatus(String roleName, Integer status, int start, int pageSize);
	  /**
	   * 根据状态查询角色总数
	 * @param roleName TODO
	 * @param status
	   * @return
	   */
	  int getRoleCountByStatus(String roleName, Integer status);
	  /**
	   * 根据角色id删除关联权限
	   * @param roleId
	   * @return
	   */
//	  int deleteRoleRelationPermissionsByRoleId(Integer roleId);
	  
		/**
		 * 取平台角色列表
		 * @return
		 */
		List<Role> getAllRoles();	
		
//		Role getUserRole(Integer userId);	
}
